.. _ocafilterarbitrarycurve: 1.1.1.13 OcaFilterArbitraryCurve ================================= Class Hierarchy: :ref:`OcaRoot ` :raw:html:`→` :ref:`OcaWorker ` :raw:html:`→` :ref:`OcaActuator ` :raw:html:`→` :ref:`OcaFilterArbitraryCurve ` .. cpp:class:: OcaFilterArbitraryCurve: OcaActuator An arbitrary-curve filter, with transfer function specified as amplitude and phase versus frequency. **Properties**: .. _ocafilterarbitrarycurve_classid: .. cpp:member:: static const OcaClassID ClassID = "1.1.1.13" Number that uniquely identifies the class. Note that this differs from the object number, which identifies the instantiated object. This property is an override of the **OcaRoot** property. This property has id ``4.1``. .. _ocafilterarbitrarycurve_classversion: .. cpp:member:: static const OcaClassVersionNumber ClassVersion = 2 Identifies the interface version of the class. Any change to the class definition leads to a higher class version. This property is an override of the **OcaRoot** property. This property has id ``4.2``. .. _ocafilterarbitrarycurve_transferfunction: .. cpp:member:: OcaTransferFunction TransferFunction Transfer function of the filter. This property has id ``4.1``. .. _ocafilterarbitrarycurve_samplerate: .. cpp:member:: OcaFrequency SampleRate Sample rate inside the filter. We can't assume it's the same as the device input or output rate. This property has id ``4.2``. .. _ocafilterarbitrarycurve_tfminlength: .. cpp:member:: OcaUint16 TFMinLength Minimum number of points that transfer function must specify This property has id ``4.3``. .. _ocafilterarbitrarycurve_tfmaxlength: .. cpp:member:: OcaUint16 TFMaxLength Maximum number of points that transfer function may specify This property has id ``4.4``. Properties inherited from :ref:`OcaWorker `: - :cpp:texpr:`OcaBoolean` :ref:`OcaWorker::Enabled ` - :cpp:texpr:`OcaList` :ref:`OcaWorker::Ports ` - :cpp:texpr:`OcaString` :ref:`OcaWorker::Label ` - :cpp:texpr:`OcaONo` :ref:`OcaWorker::Owner ` - :cpp:texpr:`OcaTimeInterval` :ref:`OcaWorker::Latency ` Properties inherited from :ref:`OcaRoot `: - :cpp:texpr:`OcaONo` :ref:`OcaRoot::ObjectNumber ` - :cpp:texpr:`OcaBoolean` :ref:`OcaRoot::Lockable ` - :cpp:texpr:`OcaString` :ref:`OcaRoot::Role ` **Methods**: .. _ocafilterarbitrarycurve_gettransferfunction: .. cpp:function:: OcaStatus GetTransferFunction(OcaTransferFunction &TransferFunction) Returns the complex transfer function. This method has id ``4.1``. :param OcaTransferFunction TransferFunction: Output parameter. .. _ocafilterarbitrarycurve_settransferfunction: .. cpp:function:: OcaStatus SetTransferFunction(OcaTransferFunction TransferFunction) Sets the complex transfer function. This method has id ``4.2``. :param OcaTransferFunction TransferFunction: Input parameter. .. _ocafilterarbitrarycurve_getsamplerate: .. cpp:function:: OcaStatus GetSampleRate(OcaFrequency &Rate, OcaFrequency &minRate, OcaFrequency &maxRate) Gets the filter sampling rate. This method has id ``4.3``. :param OcaFrequency Rate: Output parameter. :param OcaFrequency minRate: Output parameter. :param OcaFrequency maxRate: Output parameter. .. _ocafilterarbitrarycurve_setsamplerate: .. cpp:function:: OcaStatus SetSampleRate(OcaFrequency Rate) Sets the filter sampling rate. This method has id ``4.4``. :param OcaFrequency Rate: Input parameter. .. _ocafilterarbitrarycurve_gettfminlength: .. cpp:function:: OcaStatus GetTFMinLength(OcaUint16 &Min) Returns the minimum number of required points in the specified transfer function. This method has id ``4.5``. :param OcaUint16 Min: Output parameter. .. _ocafilterarbitrarycurve_gettfmaxlength: .. cpp:function:: OcaStatus GetTFMaxLength(OcaUint16 &Max) Returns the maximum number of allowed points in the specified transfer function. This method has id ``4.6``. :param OcaUint16 Max: Output parameter. Methods inherited from :ref:`OcaWorker `: - :ref:`OcaWorker::GetEnabled(enabled) ` - :ref:`OcaWorker::SetEnabled(enabled) ` - :ref:`OcaWorker::AddPort(Label, Mode, ID) ` - :ref:`OcaWorker::DeletePort(ID) ` - :ref:`OcaWorker::GetPorts(OcaPorts) ` - :ref:`OcaWorker::GetPortName(PortID, Name) ` - :ref:`OcaWorker::SetPortName(PortID, Name) ` - :ref:`OcaWorker::GetLabel(label) ` - :ref:`OcaWorker::SetLabel(label) ` - :ref:`OcaWorker::GetOwner(owner) ` - :ref:`OcaWorker::GetLatency(latency) ` - :ref:`OcaWorker::SetLatency(latency) ` - :ref:`OcaWorker::GetPath(NamePath, ONoPath) ` Methods inherited from :ref:`OcaRoot `: - :ref:`OcaRoot::GetClassIdentification(ClassIdentification) ` - :ref:`OcaRoot::GetLockable(lockable) ` - :ref:`OcaRoot::LockTotal() ` - :ref:`OcaRoot::Unlock() ` - :ref:`OcaRoot::GetRole(Role) ` - :ref:`OcaRoot::LockReadonly() `